package org.crystal.tradecraft.model.binance.enumeration;

/**
 * <h3>生效时间 （timeInForce）:</h3>
 * 这里定义了订单在失效前的有效时间。
 * <table>
 *   <tr>
 *     <th>状态</th><th>描述</th>
 *   </tr>
 *   <tr>
 *     <td>GTC</td><td>成交为止：订单会一直有效，直到被成交或者取消。</td>
 *   </tr>
 *   <tr>
 *     <td>IOC</td><td>无法立即成交的部分就撤销：订单在失效前会尽量多的成交。</td>
 *   </tr>
 *   <tr>
 *     <td>FOK</td><td>无法全部立即成交就撤销：如果无法全部成交，订单会失效。</td>
 *   </tr>
 * </table>
 * </p>
 */
public enum TimeInForce {
    GTC, // Good Til Canceled. An order will be on the book unless the order is canceled.
    IOC, // Immediate Or Cancel. An order will try to fill the order as much as it can before the order expires.
    FOK // Fill or Kill. An order will expire if the full order cannot be filled upon execution.
}
